﻿#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;

// Student的_num和Person的_num构成隐藏关系，可以看出这样代码虽然能跑，但是⾮常容易混淆
class Person
{
protected:
	string _name = "小李子"; // 姓名
	int _num = 111; // ⾝份证号
};
class Student : public Person
{
public:
	void Print()
	{
		cout << " 姓名:" << _name << endl;
		cout << " 身份证号:" << Person::_num << endl;
		cout << " 学号:" << _num << endl;
	}
protected:
	int _num = 999; // 学号
};

//int main()
//{
//	Student s1;
//	s1.Print();
//
//	return 0;
//};



// 练习题：
// 1. A和B类中的两个func构成什么关系（）
// A.重载 B.隐藏 C.重写 D.没关系

// 2. 下⾯程序的编译运⾏结果是什么（）
//A.编译报错 B.运⾏报错 C.正常运⾏
//class A
//{
//public:
//	void fun()
//	{
//		cout << "func()" << endl;
//	}
//};
//class B : public A
//{
//public:
//	void fun(int i)
//	{
//		cout << "func(int i)" << i << endl;
//	}
//};
//int main()
//{
//	B b;
//	b.fun(10);
//	b.fun();
//	return 0;
//};
// 答案：B A
// 第一题：
// 函数重载，要求要在同一个作用域